<?php

/**
 * Controlador de las asignaciones de etiquetas en plantillas
 * Los parametros se le han de pasar por GET
 *
 * @author Israel Mora e Ismael Garcia
 */

include_once (realpath(dirname(__FILE__)) .'/../modelos/label.class.php');
include_once (realpath(dirname(__FILE__)) .'/../modelos/plantilla.class.php');

$control = new control_asign_templ();


class control_asign_templ {

	private $_asign;
        private $_capa;
        private $_label;

        public function __construct($capa = 'principal'){
            $this->_capa = $capa;
            $this->_asign = new Plantilla();
            $this->_label = new Label();
            $this->_action = isset($_GET["action"]) ?  $_GET["action"] : 'list';
            
            switch($this->_action){
		case 'list'   : $this->listAsign();     break;
		case 'add'    : $this->addAsign();      break;
		case 'delete' : $this->deleteAsign();   break;
		default       : $this->listAsign();
            }
        }
        /**
         * Function que lista las labels asignadas a un template en cuestion y las
         * labels disponibles para asignar. $files son las labels de la id y $label 
         * es todas las labels disponibles
         * @param Int $doc_id Este parametro sirve para poder definir una instancia
         * de la misma manteniendo la id 
         */
        public function listAsign($doc_id = 0){
		$capa = $this->_capa;
                if(isset($_GET["id"])) $doc_id = $_GET["id"];
                $where = "id_document ='" . $doc_id . "'";
		$files = $this->_asign->listRecords($where);
                $label = $this->_label->listRecords();
                $add  = 'controladores/control_asign_templ.class.php?action=add';
		$delete = 'controladores/control_asign_templ.class.php?action=delete';
                
		include (realpath(dirname(__FILE__)) .'/../vistas/asigntempl.php');		
	}
        /**
         * Asigna un label a el template seleccionado 
         * Precisa el parametro id_document por $_GET 
         */
        public function addAsign(){
            $capa = $this->_capa;
            $doc_id = $_GET["id_document"];
            $this->_asign->insertRecord($_GET);
            $this->listAsign($doc_id);
        }
        /**
         * Elimina un label del template seleccionado  
         * Precisa el parametro id por $_GET 
         */
        public function deleteAsign(){
            if(isset($_GET["id"])) $this->_asign->deleteRecord($_GET["id"]);
            $aux = $_GET["doc_id"];
            unset($_GET); //Borra el $_GET
            $this->listAsign($aux);
            
        }
        
        /**
         * Con la id del label, pide en la BD el titulo de la label y lo devuelve
         * Precisa el parametro id por $_GET 
         * @param Int $id id label
         * @return String titulo del label
         */
        public function returnClassiTitle($id){
            $aux = $this->_label->getRecord($id);
            return $aux["titol"];
        }
}
?>

